package com.wicket.okrbff.biz.service.dto.res;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc BffQueryRoleRelDetailRespDto
 * @使用场景
 */
@Data
public class BffQueryRoleRelDetailRespDto implements Serializable {

  /**
   * 角色人员ID
   */
  @ApiModelProperty("角色人员ID")
  private String roleMemberId;

  /**
   * 身份人员ID
   */
  @ApiModelProperty("身份人员ID")
  private String originalRoleMemberId;

  /**
   * 账号ID
   */
  @ApiModelProperty("账号ID")
  private String userId;

  /**
   * 主体生命周期 CURRENTLY_VALID:当前有效 EDITING:正在编辑 ARCHIVING:历史存档
   */
  @ApiModelProperty("主体生命周期")
  private String subjectLifeCycle;

  /**
   * 是否失效 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否失效")
  private String relationshipValid;

  /**
   * 失效类型 FREEZE:冻结 OTHER:其他
   */
  @ApiModelProperty("失效类型")
  private String status;

  /**
   * 失效理由
   */
  @ApiModelProperty("失效理由")
  private String invalidReason;

  /**
   * 失效时间
   */
  @ApiModelProperty("失效时间")
  private Date invalidTime;

  /**
   * 是否存档 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否存档")
  private String isArchive;

  /**
   * 操作人就职记录ID
   */
  @ApiModelProperty("操作人就职记录ID")
  private String operationInductionId;

  /**
   * 操作时间
   */
  @ApiModelProperty("操作时间")
  private Date operateTime;

  /**
   * 用户名
   */
  @ApiModelProperty("用户名")
  private String userName;

  /**
   * 绑定邮箱
   */
  @ApiModelProperty("绑定邮箱")
  private String email;

  /**
   * 绑定手机
   */
  @ApiModelProperty("绑定手机")
  private String phone;

  /**
   * 真实姓名
   */
  @ApiModelProperty("真实姓名")
  private String idCardName;

  /**
   * 用户昵称
   */
  @ApiModelProperty("用户昵称")
  private String nickName;

  /**
   * 真实头像
   */
  @ApiModelProperty("真实头像")
  private String userFace;

  /**
   * 个人简介
   */
  @ApiModelProperty("个人简介")
  private String userIntro;

  /**
   * 用户性别 MALE:男 FEMALE:女
   */
  @ApiModelProperty("用户性别")
  private String sex;

  /**
   * 出生日期
   */
  @ApiModelProperty("出生日期")
  private Date birthday;

  /**
   * 用户城市
   */
  @ApiModelProperty("用户城市")
  private String city;

  /**
   * 身份人员编号
   */
  @ApiModelProperty("身份人员编号")
  private String roleMemberCode;

  /**
   * 职务信息展示
   */
  @ApiModelProperty("职务信息展示")
  private String positionIdName;

  /**
   * 备注首位字母
   */
  @ApiModelProperty("备注首位字母")
  private String firstLetter;

  /**
   * 角色ID
   */
  @ApiModelProperty("角色ID")
  private String roleId;

  /**
   * 角色标识
   */
  @ApiModelProperty("角色标识")
  private String roleCode;

  /**
   * 角色名称
   */
  @ApiModelProperty("角色名称")
  private String roleName;

  /**
   * 真实姓名
   */
  @ApiModelProperty("真实姓名")
  private String operaterIdCardName;

  /**
   * 用户昵称
   */
  @ApiModelProperty("用户昵称")
  private String operaterNickName;

  /**
   * 类型字典名称
   */
  @ApiModelProperty("类型字典名称")
  private String inductionTypeDictionaryName;

  /**
   * 类型字典名称
   */
  @ApiModelProperty("类型字典名称")
  private String inductionStateDictionaryName;

}
